Paul Eggert [Tue, 14 Apr 2015 07:58:07 +0000 (00:58 -0700)]
Assume C89 offsetof in xterm.c, xlwmenu.c
* lwlib/xlwmenu.c (offset):
* src/xterm.c (cvt_string_to_pixel_args):
Use offsetof, not XtOffset.
Paul Eggert [Tue, 14 Apr 2015 07:37:48 +0000 (00:37 -0700)]
Assume C89 offsetof in widget.c
* src/widget.c (XtOffset): Remove; no longer needed.
(offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
Paul Eggert [Tue, 14 Apr 2015 07:26:18 +0000 (00:26 -0700)]
Fix think-o in previous patch
* src/window.c (count_windows, get_leaf_windows):
Don't optimize count_windows incorrectly.
Paul Eggert [Tue, 14 Apr 2015 06:26:13 +0000 (23:26 -0700)]
Avoid some int overflows in window.c
* src/print.c (print_object):
* src/window.c (sequence_number):
* src/window.h (struct window.sequence_number):
Don't assume window sequence number fits in int.
* src/window.c (window_select_count):
* src/window.h (struct window.use_time, window_select_count):
Don't assume window use time fits in int.
* src/window.c (Fsplit_window_internal):
Don't assume user-supplied integer, or sum, fits in int.
(Fset_window_configuration, count_windows, get_leaf_windows)
(save_window_save, Fcurrent_window_configuration):
Use ptrdiff_t for object counts.
(Fset_window_configuration): Omit unused local 'n'.
(count_windows): Simplify by writing in terms of get_leaf_windows.
(get_leaf_windows): Don't store through FLAT if it's null.
(extract_dimension): New static function.
(set_window_margins, set_window_fringes, set_window_scroll_bars):
Use it to avoid undefined behavior when converting user-supplied
integer to 'int'.
Glenn Morris [Tue, 14 Apr 2015 06:20:48 +0000 (23:20 -0700)]
Minor doc copyedits
* doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
* doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
Katsumi Yamaoka [Tue, 14 Apr 2015 03:35:02 +0000 (03:35 +0000)]
[Gnus] Catch the invalid-operation that idna.el will issue
* lisp/gnus/gnus-art.el (gnus-use-idna):
* lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
* lisp/gnus/message.el (message-use-idna):
Catch the invalid-operation that idna.el will issue.
Paul Eggert [Tue, 14 Apr 2015 03:30:50 +0000 (20:30 -0700)]
* doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
Sam Steingold [Tue, 14 Apr 2015 03:27:02 +0000 (23:27 -0400)]
package--ensure-init-file: widen before looking for "(package-initialize)"
Dmitry Gutov [Tue, 14 Apr 2015 02:03:32 +0000 (05:03 +0300)]
Change diff-switches default to `-u'
Fixes: debbugs:20290
* doc/emacs/files.texi (Comparing Files): Document the new default
value of `diff-switches'.
* doc/emacs/trouble.texi (Sending Patches): Document the preference
for unified diff format. Escape the plus in the suggested `-F' regexp
value.
* lisp/vc/diff.el (diff-switches): Change the default to `-u'.
Stefan Monnier [Tue, 14 Apr 2015 01:30:27 +0000 (21:30 -0400)]
(gnus-group--setup-tool-bar-update): Fix last change
* lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
cursor-sensor-functions should be a list of functions.
Katsumi Yamaoka [Mon, 13 Apr 2015 23:42:18 +0000 (23:42 +0000)]
Use gmm-called-interactively-p in Gnus
* lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
Stefan Monnier [Mon, 13 Apr 2015 22:21:00 +0000 (18:21 -0400)]
* lisp/loadup.el ("cus-start"): Load it after loaddefs.el
Fixes: debbugs:20321
* lisp/cus-start.el (read-buffer-function): Don't advertize
iswitchb-read-buffer any more.
(iswitchb): Don't tweak this obsolete group any more.
Artur Malabarba [Mon, 13 Apr 2015 19:50:33 +0000 (20:50 +0100)]
* lisp/emacs-lisp/package.el: Fix package--ensure-init-file
Artur Malabarba [Mon, 13 Apr 2015 12:13:36 +0000 (13:13 +0100)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
Adding a string after a constructor's argument list will use
that string as the constructor function docstring. If this string
is absent but the struct itself was given a docstring, use that as
the constructor's docstring.
Fixes (bug#17284).
Stefan Monnier [Mon, 13 Apr 2015 19:51:15 +0000 (15:51 -0400)]
Deprecate `intangible' and `point-entered' properties
* lisp/emacs-lisp/cursor-sensor.el: New file.
* lisp/simple.el (pre-redisplay-functions): New hook.
(redisplay--pre-redisplay-functions): New function.
(pre-redisplay-function): Use it.
(minibuffer-avoid-prompt): Mark obsolete.
(redisplay--update-region-highlight): Adapt it to work as a function on
pre-redisplay-functions.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
(minibuffer-prompt-properties): Use it. Use cursor-intangible rather
than point-entered to make the prompt intangible.
* lisp/forms.el: Move `provide' calls to the end.
(forms-mode): Don't use `run-hooks' on a local var.
(forms--make-format, forms--make-format-elt-using-text-properties):
Use cursor-intangible rather than `intangible'.
(forms-mode): Enable cursor-intangible-mode.
* lisp/isearch.el (isearch-mode): Use defvar-local.
(cursor-sensor-inhibit): Declare.
(isearch-mode): Set cursor-sensor-inhibit.
(isearch-done): Set it back.
(isearch-open-overlay-temporary, isearch-open-necessary-overlays)
(isearch-close-unnecessary-overlays): Don't bother with `intangible'
any more.
* lisp/ses.el (ses-localvars): Remove `mode-line-process'.
(ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
Add Edebug spec.
(ses-goto-print, ses-print-cell, ses-adjust-print-width)
(ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
inhibit-point-motion-hooks any more.
(ses--cell-at-pos, ses--curcell): New functions, extracted from
ses-set-curcell.
(ses-set-curcell): Use them.
(ses-print-cell, ses-setup): Use cursor-intangible instead of
`intangible'. Make sure cursor-intangible isn't sticky at BOB.
(ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
Use ses--cell-at-pos.
(ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
extracted from ses-command-hook. Make them work with multiple windows
displaying the same buffer.
(ses-mode): Use them via mode-line-process and pre-redisplay-functions.
Enable cursor-intangible-mode.
(ses-command-hook): Remove cell highlight and mode-line update code.
(ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
Update for new name of text-property holding the cell name.
(ses-rename-cell): Don't mess with mode-line-process.
* lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
cursor-sensor-functions property instead of point-entered.
(erc-insert-timestamp-right, erc-format-timestamp):
Use cursor-intangible rather than `intangible'.
(erc-munge-invisibility-spec): Use add-to-invisibility-spec and
remove-from-invisibility-spec. Enable cursor-intangible-mode and
cursor-sensor-mode if needed.
(erc-echo-timestamp): Adapt to calling convention of
cursor-sensor-functions.
(erc-insert-timestamp-right): Remove unused vars `current-window' and
`indent'.
* lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
(gnus-update-group-mark-positions): Remove unused `topic' var.
(gnus-group-insert-group-line): Remove unused var `header'.
(gnus-group--setup-tool-bar-update): New function.
(gnus-group-insert-group-line): Use it.
(gnus-group-update-eval-form): Declare local
dynamically-bound variables.
(gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
* lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
(gnus-group-prepare-topics, gnus-topic-update-topic)
(gnus-topic-change-level, gnus-topic-catchup-articles)
(gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
Use inhibit-read-only.
(gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
(gnus-topic-mode): Use define-minor-mode and derived-mode-p.
* lisp/textmodes/reftex-index.el (reftex-display-index):
Use cursor-intangible-mode if available.
(reftex-index-post-command-hook): Check cursor-intangible.
* lisp/textmodes/reftex-toc.el (reftex-toc):
Use cursor-intangible-mode if available.
(reftex-toc-recenter, reftex-toc-post-command-hook):
Check cursor-intangible.
* lisp/textmodes/sgml-mode.el: Use lexical-binding.
(sgml-tag): Use cursor-sensor-functions instead of point-entered.
(sgml-tags-invisible): Use with-silent-modifications and
inhibit-read-only. Enable cursor-sensor-mode.
(sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
calling convention of cursor-sensor-functions.
* lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
(table-point-entered-cell-hook, table-point-left-cell-hook):
Don't autoload.
(table-cell-entered-state): Remove var.
(table--put-cell-point-entered/left-property)
(table--remove-cell-properties):
Use cursor-sensor-functions rather than point-entered/left.
(table--point-entered/left-cell-function): Merge
table--point-entered-cell-function and table--point-left-cell-function
and adjust to calling convention of cursor-sensor-functions.
Stefan Monnier [Mon, 13 Apr 2015 18:55:10 +0000 (14:55 -0400)]
Update ldef-boots.el
Stefan Monnier [Mon, 13 Apr 2015 18:46:58 +0000 (14:46 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
Stefan Monnier [Mon, 13 Apr 2015 18:36:55 +0000 (14:36 -0400)]
* doc/misc/eieio.texi: Don't advertize now obsolete constructs
Stefan Monnier [Mon, 13 Apr 2015 18:05:09 +0000 (14:05 -0400)]
Collapse successive char deletions in the undo log
* src/cmds.c (remove_excessive_undo_boundaries): New function,
extracted from Fself_insert_command.
(Fdelete_char, Fself_insert_command): Use it.
* src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
* src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
Stefan Monnier [Mon, 13 Apr 2015 15:36:30 +0000 (11:36 -0400)]
xterm and OSC 52: Add NEWS entry, and tweak the code
* lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
top-level.
(terminal-init-xterm-activate-set-selection): Set a terminal property.
(xterm--set-selection): Use it instead of checking the value of
`terminal-initted'. Don't use string-bytes.
Philipp Stephani [Mon, 13 Apr 2015 14:48:47 +0000 (10:48 -0400)]
xterm.el: Implement OSC-52 functionality for setting the X selection
* lisp/term/xterm.el (xterm-max-cut-length): New var.
(xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
(terminal-init-xterm, xterm--version-handler): Use them.
Stefan Monnier [Mon, 13 Apr 2015 14:41:30 +0000 (10:41 -0400)]
Remove left over code from when we used an obsolete/loaddefs.el file
* lisp/subr.el (do-after-load-evaluation): Remove left over code from when
we used an obsolete/loaddefs.el file.
Stefan Monnier [Mon, 13 Apr 2015 14:39:25 +0000 (10:39 -0400)]
* cedet/semantic/fw.el: Use declare.
* cedet/semantic/fw.el (semantic-exit-on-input)
(semanticdb-without-unloaded-file-searches): Use declare.
(semantic-fw-add-edebug-spec): Remove.
Stefan Monnier [Mon, 13 Apr 2015 14:35:15 +0000 (10:35 -0400)]
(completion-lisp-mode-hook): Use completion-separator-chars
* lisp/completion.el (completion-lisp-mode-hook):
Use completion-separator-chars rather than local key binding.
Stefan Monnier [Mon, 13 Apr 2015 14:16:38 +0000 (10:16 -0400)]
* src/*.c: Set deactivate_mark buffer-locally
Fixes: debbugs:20260
* src/insdel.c (prepare_to_modify_buffer_1):
* src/fileio.c (Finsert_file_contents): Set deactivate_mark
buffer-locally.
Fabián Ezequiel Gallina [Mon, 13 Apr 2015 01:43:44 +0000 (22:43 -0300)]
python.el: Keep symmetry on sexp navigation with parens
Fixes: debbugs:19954
* lisp/progmodes/python.el
(python-nav--forward-sexp): Add argument skip-parens-p.
(python-nav-forward-sexp, python-nav-backward-sexp)
(python-nav-forward-sexp-safe)
(python-nav-backward-sexp-safe): Use it.
* test/automated/python-tests.el
(python-nav-forward-sexp-1): Fix test.
João Távora [Sun, 12 Apr 2015 22:23:44 +0000 (23:23 +0100)]
Don't use `setq-local' in Gnus code
This might break upstream builds with older Emacsen
* lisp/gnus/message.el (message-mode): Use `set' and
`make-local-variable' instead of `setq-local'.
Paul Eggert [Sun, 12 Apr 2015 22:21:08 +0000 (15:21 -0700)]
Update Makefile.in's .PHONY dependencies
* Makefile.in (change-history-commit, master-branch-is-current)
(no-ChangeLog): Now phony.
Paul Eggert [Sun, 12 Apr 2015 21:55:38 +0000 (14:55 -0700)]
Remove configure's --with-mmdf option
* configure.ac (MAIL_USE_MMDF): Remove.
* etc/NEWS: Document this.
* lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
Fixes: bug#20308
Paul Eggert [Sun, 12 Apr 2015 18:26:50 +0000 (11:26 -0700)]
* doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
That way, 'make install' won't think it's a man page.
Reported by Ashish SHUKLA in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
Paul Eggert [Sun, 12 Apr 2015 17:21:59 +0000 (10:21 -0700)]
Improve 'make change-history' prereq tests
* Makefile.in (gen_origin): Fix to match what's in the master branch.
(no-ChangeLog, master-branch-is-current): New rules.
(change-history): Depend on them, to avoid similar future problems.
Escape the local-variables string to pacify Emacs when editing
Makefile.in.
Artur Malabarba [Sun, 12 Apr 2015 15:10:22 +0000 (16:10 +0100)]
* test/automated/package-test.el (with-package-test): Kill Packages buffer
Artur Malabarba [Sun, 12 Apr 2015 14:11:08 +0000 (15:11 +0100)]
* lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
(package-menu--prompt-transaction-p): Prompt for "Delete" first,
"Upgrade" last, and use capitalized instead of all-caps.
Artur Malabarba [Sun, 12 Apr 2015 14:03:45 +0000 (15:03 +0100)]
* lisp/emacs-lisp/package.el: Completely silence async operations
(package--make-autoloads-and-stuff): Silence autoloads.
(package--save-selected-packages): New function, silences
`customize-save-variable'.
(package--user-selected-p, package-install-from-buffer)
(package-delete, package-install): Use it.
(package-install-from-archive)
(package-menu--perform-transaction): Silence.
(package-menu-execute): Feedback when operation starts.
Artur Malabarba [Sun, 12 Apr 2015 13:37:45 +0000 (14:37 +0100)]
Use delay-mode-hooks when visiting the init-file
* lisp/emacs-lisp/package.el (package--ensure-init-file):
delay-mode-hooks
* lisp/cus-edit.el (custom-save-all): delay-mode-hooks
Artur Malabarba [Sun, 12 Apr 2015 13:36:54 +0000 (14:36 +0100)]
* lisp/files.el: Only message when saving if save-silently is nil
(save-silently): New variable.
(files--message): New function.
(find-file-noselect, save-buffer, basic-save-buffer)
(basic-save-buffer-2, save-some-buffers, not-modified)
(append-to-file): Use them.
Johan Bockgård [Sun, 12 Apr 2015 14:26:52 +0000 (16:26 +0200)]
Support debug declarations in pcase macros
* lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
(pcase-UPAT): Use it. Remove "`".
(pcase--edebug-match-macro): New function.
(pcase-defmacro): Support debug declarations.
* lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
* lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
* lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
Johan Bockgård [Sun, 12 Apr 2015 14:26:51 +0000 (16:26 +0200)]
pcase.el: Edebug support for `app' and vector patterns
* lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
(pcase-UPAT): Use it. Support `app' patterns.
(pcase-QPAT): Support vector patterns.
Johan Bockgård [Sun, 12 Apr 2015 14:26:51 +0000 (16:26 +0200)]
edebug.el: Disambiguate vector specifications
* lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
`(vector ...)' as a vector specification, not as a sublist.
Johan Bockgård [Sun, 12 Apr 2015 14:13:08 +0000 (16:13 +0200)]
(gnus-summary-refer-thread): Don't clobber unread articles
This fixes a bug where `A T' causes "random" articles to become marked
as read.
* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
gnus-newsgroup-unreads remains sorted.
Johan Bockgård [Sun, 12 Apr 2015 13:55:32 +0000 (15:55 +0200)]
mouse-sel.el: Fix mouse-sel-get-selection-function
* lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
Use gui--last-selected-text-primary instead of no longer existing
gui-last-selected-text.
Johan Bockgård [Sun, 12 Apr 2015 13:50:02 +0000 (15:50 +0200)]
* lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
Johan Bockgård [Sun, 12 Apr 2015 13:37:50 +0000 (15:37 +0200)]
* lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
Artur Malabarba [Sun, 12 Apr 2015 12:47:58 +0000 (13:47 +0100)]
* lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
Artur Malabarba [Sun, 12 Apr 2015 12:44:43 +0000 (13:44 +0100)]
* lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
Artur Malabarba [Sun, 12 Apr 2015 11:05:13 +0000 (12:05 +0100)]
* lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
(byte-compile--interactive): New var.
(byte-compile--message): New function.
(byte-compile-log-1, byte-force-recompile)
(byte-recompile-directory, byte-recompile-file)
(byte-compile-file, compile-defun)
(byte-compile-file-form-defmumble, byte-compile)
(byte-compile-file-form-defalias, display-call-tree): Use it.
Artur Malabarba [Sun, 12 Apr 2015 11:01:24 +0000 (12:01 +0100)]
* lisp/files.el: Don't message when nothing happened
(save-some-buffers, basic-save-buffer): Before messaging to say
"nothing was saved" check if (called-interactively-p 'any).
João Távora [Sun, 12 Apr 2015 12:12:27 +0000 (13:12 +0100)]
Summary: Improve sexp-based movement in message-mode
Works by giving citations and smileys a different syntax. This helps
modes like `show-paren-mode', `electric-pair-mode', and C-M-*
sexp-based movement.
* lisp/gnus/message.el (message--syntax-propertize): New function.
(message-mode): Set syntax-related vars.
(message-smileys): New variable.
* test/automated/message-mode-tests.el: New file
Paul Eggert [Sun, 12 Apr 2015 03:45:08 +0000 (20:45 -0700)]
Use bool for boolean in window.c
* src/window.c: Omit unnecessary static function decls.
(adjust_window_count, select_window, Fselect_window)
(window_body_width, Fwindow_body_height, Fwindow_body_width)
(set_window_hscroll, check_window_containing, Fwindow_at)
(Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
(unshow_buffer, replace_window, recombine_windows)
(add_window_to_list, candidate_window_p, next_window)
(Fnext_window, Fprevious_window, window_loop, check_all_windows)
(Fget_buffer_window, Fdelete_other_windows_internal)
(replace_buffer_in_windows_safely, set_window_buffer)
(Fset_window_buffer, Fforce_window_update)
(temp_output_buffer_show, make_parent_window)
(window_resize_check, window_resize_apply, Fwindow_resize_apply)
(resize_frame_windows, Fsplit_window_internal)
(Fdelete_window_internal, grow_mini_window, shrink_mini_window)
(Fresize_mini_window_internal, mark_window_cursors_off)
(window_scroll, window_scroll_pixel_based)
(window_scroll_line_based, scroll_command, Fscroll_other_window)
(Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
(Fmove_to_window_line, Fset_window_configuration)
(delete_all_child_windows, apply_window_adjustment)
(set_window_fringes, set_window_scroll_bars)
(Fset_window_vscroll, foreach_window, foreach_window_1)
(compare_window_configurations, Fcompare_window_configurations):
Prefer 'bool', 'true', and 'false' for booleans.
* src/window.h (WINDOW_MODE_LINE_LINES)
(WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
Artur Malabarba [Sun, 12 Apr 2015 02:23:35 +0000 (03:23 +0100)]
Speed up byte-compilation and autoload generation by avoiding mode-hooks
This prevents emacs-lisp-mode-hook from being run everytime an
autoload file is generated, which can account for a fraction of
package installation time depending on the hooks the user has
configured.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
* lisp/emacs-lisp/autoload.el (autoload-find-file)
(autoload-find-generated-file): Use delay-mode-hooks.
Artur Malabarba [Sun, 12 Apr 2015 02:55:21 +0000 (03:55 +0100)]
* lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
(package-menu-refresh): Respect async and do new package checking.
(list-packages): Use `package-menu-refresh' instead of repeating code.
Artur Malabarba [Sun, 12 Apr 2015 02:08:21 +0000 (03:08 +0100)]
* lisp/emacs-lisp/package.el: Improve package-menu-quick-help
(package--quick-help-keys): New variable.
(package--prettify-quick-help-key): New function.
(package-menu-quick-help): Use it.
Artur Malabarba [Sun, 12 Apr 2015 01:33:29 +0000 (02:33 +0100)]
* lisp/emacs-lisp/package.el: Fix initially wrong compat table
(package--build-compatibility-table): require finder
Artur Malabarba [Sun, 12 Apr 2015 01:14:03 +0000 (02:14 +0100)]
* test/automated/package-test.el: Fix new test
Artur Malabarba [Sun, 12 Apr 2015 00:52:43 +0000 (01:52 +0100)]
* lisp/emacs-lisp/package.el: Silence async operations
(package--silence): New variable.
(package--message): New function.
(package-import-keyring, package-refresh-contents)
(package-compute-transaction, package-install, package-delete)
(package-menu--perform-transaction, package-menu-execute): Use it.
Artur Malabarba [Sun, 12 Apr 2015 00:10:35 +0000 (01:10 +0100)]
* test/automated/package-test.el: Test async functionality
(package-test-update-archives-async): New test
Daiki Ueno [Sat, 11 Apr 2015 07:31:59 +0000 (16:31 +0900)]
Utilize `make-process' in epg.el
* lisp/epg.el (epg-error-output): Abolish.
(epg-context): New slot `error-buffer'.
(epg--start): Use `make-process' and `make-pipe-process'.
(epg--process-filter): Remove code separating stderr from stdout.
(epg-wait-for-completion): Simplify `error-output' handling.
(epg-reset): Dispose error buffer.
Paul Eggert [Sat, 11 Apr 2015 20:49:08 +0000 (13:49 -0700)]
* .gitignore: Ignore doc temps and outputs.
Paul Eggert [Sat, 11 Apr 2015 20:04:37 +0000 (13:04 -0700)]
Port commit-msg to MSYS Bash+Gawk
See Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
* build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
(cent_sign, print_at_sign, at_sign): Revert previous change.
(print_at_sign): Prepend "BEGIN".
(at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
Paul Eggert [Sat, 11 Apr 2015 15:19:13 +0000 (08:19 -0700)]
Port commit-msg to broken MS-Windows shell
* build-aux/git-hooks/commit-msg (cent_sign):
Just use UTF-8 here rather than ASCII + printf, as the latter fails
on a broken MS-Windows shell. Reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
Chris Zheng [Sat, 11 Apr 2015 15:06:52 +0000 (18:06 +0300)]
Support GnuTLS v3.4 and later on MS-Windows
* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
* lisp/term/w32-win.el (dynamic-library-alist): Determine which
GnuTLS DLL to load according to value of libgnutls-version.
Fixes: bug#20294
Copyright-paperwork-exempt: yes
Paul Eggert [Sat, 11 Apr 2015 14:47:25 +0000 (07:47 -0700)]
Minor quoting etc. fixes to misc manuals
Fix some minor quoting and spacing issues. Distinguish more
clearly among grave accent and apostrophe (which are ASCII) and
single quote (which is not). Prefer the standard terms
"apostrophe" and "grave accent" to alternative names that can be
confusing. Use apostrophes to single-quote ASCII text.
* doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
rather than approximating it in ASCII with grave accent.
Daiki Ueno [Sat, 11 Apr 2015 07:01:18 +0000 (16:01 +0900)]
Respect more keyword args in `make-process'
* process.c (Fmake_process): Respect `:sentinel' and `:filter'
keywords as documented.
Dmitry Gutov [Sat, 11 Apr 2015 04:09:28 +0000 (07:09 +0300)]
Extract ChangeLog entries when committing a directory
* lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
* lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
Add a FIXME comment.
(log-edit-changelog-entries): Extract from
`log-edit-changelog-entries', handle FILE being a directory
(http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
Paul Eggert [Sat, 11 Apr 2015 02:36:29 +0000 (19:36 -0700)]
Fix problems found by --enable-gcc-warnings
* src/process.c (create_process, Fmake_pipe_process)
(Fmake_network_process): Omit unused locals.
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
Fix commit-msg to handle scissors lines
* build-aux/git-hooks/commit-msg:
Ignore every line after a scissors line, such as a line generated
by 'git commit -v'. Problem reported by Johan Bockgård in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
port commit-msg to Gawk 3.0.4 (1999)
* build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
(print_at_sign, at_sign): New vars. Use them to avoid problems
Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS. See:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
Have commit-msg report commit failure
* build-aux/git-hooks/commit-msg: If the commit is aborted,
say so. Simplify by doing this at the end. Problem reported
by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
Thomas Fitzsimmons [Sat, 11 Apr 2015 01:55:40 +0000 (21:55 -0400)]
Clean up LDAP Configuration section of EUDC manual
* doc/misc/eudc.texi: Combine indices.
(LDAP Configuration): Use command markup. Add index entries.
Change formatting. Wrap long lines. Add noindent markup.
Daiki Ueno [Tue, 7 Apr 2015 08:42:09 +0000 (17:42 +0900)]
Add facility to collect stderr of async subprocess
* src/w32.h (register_aux_fd): New function declaration.
* src/w32.c (register_aux_fd): New function.
* src/process.h (struct Lisp_Process): New member stderrproc.
* src/process.c (PIPECONN_P): New macro.
(PIPECONN1_P): New macro.
(Fdelete_process, Fprocess_status, Fset_process_buffer)
(Fset_process_filter, Fset_process_sentinel, Fstop_process)
(Fcontinue_process): Handle pipe process specially.
(create_process): Respect p->stderrproc.
(Fmake_pipe_process): New function.
(Fmake_process): Add new keyword argument :stderr.
(wait_reading_process_output): Specially handle a pipe process when
it gets an EOF.
(syms_of_process): Register Qpipe and Smake_pipe_process.
* doc/lispref/processes.texi (Asynchronous Processes): Document
`make-pipe-process' and `:stderr' keyword of `make-process'.
* lisp/subr.el (start-process): Suggest to use `make-process' handle
standard error separately.
* test/automated/process-tests.el (process-test-stderr-buffer)
(process-test-stderr-filter): New tests.
* etc/NEWS: Mention new process type `pipe' and its usage with the
`:stderr' keyword of `make-process'.
Paul Eggert [Fri, 10 Apr 2015 18:27:21 +0000 (11:27 -0700)]
Minor quoting etc. fixes to lispref manual
* doc/lispref/tips.texi (Documentation Tips):
Distinguish more clearly among grave accent, apostrophe,
and single quote.
* doc/lispref/README, doc/lispref/buffers.texi:
* doc/lispref/commands.texi, doc/lispref/control.texi:
* doc/lispref/customize.texi, doc/lispref/display.texi:
* doc/lispref/elisp.texi, doc/lispref/files.texi:
* doc/lispref/frames.texi, doc/lispref/hash.texi:
* doc/lispref/help.texi, doc/lispref/internals.texi:
* doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
* doc/lispref/markers.texi, doc/lispref/modes.texi:
* doc/lispref/nonascii.texi, doc/lispref/objects.texi:
* doc/lispref/os.texi, doc/lispref/positions.texi:
* doc/lispref/strings.texi, doc/lispref/syntax.texi:
* doc/lispref/text.texi, doc/lispref/tips.texi:
* doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
Use American-style double quoting in ordinary text,
and quote 'like this' when single-quoting in ASCII text.
Also, fix some minor spacing issues.
Michael Albinus [Fri, 10 Apr 2015 10:53:01 +0000 (12:53 +0200)]
Handle symlinked test directory in tramp-tests.el
* test/automated/tramp-tests.el (tramp-test18-file-attributes)
(tramp--test-check-files): Use `file-truename' for directories.
Eli Zaretskii [Fri, 10 Apr 2015 10:09:42 +0000 (13:09 +0300)]
Fix 'recenter' when visual-line-mode is turned on
* src/window.c (Frecenter): Use the same code for GUI and TTY
frames alike; use vmotion only for "initial" frames. This is
because vmotion doesn't support visual-line-mode. Rewrite the
'iarg >= 0' case to use move_it_* functions instead of using
vmotion, for the same reason. Fix the clipping of the argument
value to support scroll-margin in all cases and avoid unwarranted
recentering. Reported by Milan Stanojević <milanst@gmail.com> in
http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
which see.
Stefan Monnier [Fri, 10 Apr 2015 06:47:44 +0000 (02:47 -0400)]
* abbrev.el (define-abbrev-table): Refine last change.
Stefan Monnier [Fri, 10 Apr 2015 05:50:22 +0000 (01:50 -0400)]
cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
* lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
use of c[ad]+r", so as to keep the "cl-" prefix on all
cl-lib definitions.
Stefan Monnier [Fri, 10 Apr 2015 04:20:54 +0000 (00:20 -0400)]
* vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
Stefan Monnier [Fri, 10 Apr 2015 04:17:19 +0000 (00:17 -0400)]
* lisp/cedet/semantic: Remove some dead code
* lisp/cedet/semantic/util-modes.el
(semantic-stickyfunc-header-line-format): Emacs<22 is not supported
any more.
* lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
not supported any more.
(semantic-safe): Use `declare'.
* lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
(semantic-tag-intangible-p): Remove unused functions.
* lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
Remove unused function.
Stefan Monnier [Fri, 10 Apr 2015 04:11:04 +0000 (00:11 -0400)]
* lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
(gnus-article-hide-text, gnus-article-unhide-text)
(gnus-article-unhide-text-type): Remove special handling of
`intangible' since that property is not used any more.
(gnus-article-treat-body-boundary): Use gnus-hidden-properties.
Dmitry Gutov [Fri, 10 Apr 2015 01:10:56 +0000 (04:10 +0300)]
; Add asterisks and periods
Jay Belanger [Fri, 10 Apr 2015 00:07:15 +0000 (19:07 -0500)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Dmitry Gutov [Fri, 10 Apr 2015 00:54:55 +0000 (03:54 +0300)]
Use the VC root in `log-edit-listfun'
* lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
`log-edit-listfun'.
Jay Belanger [Fri, 10 Apr 2015 00:03:19 +0000 (19:03 -0500)]
Fix description of Unix time, mention new function.
* lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
Unix time.
* doc/misc/calc.texi (Date Forms): Fix description of Unix time.
(Basic Operations on Units): Mention `calc-convert-exact-units'.
Artur Malabarba [Wed, 8 Apr 2015 21:59:55 +0000 (22:59 +0100)]
* lisp/emacs-lisp/package.el: Use mode-line-process for notification
Dmitry Gutov [Thu, 9 Apr 2015 23:26:58 +0000 (02:26 +0300)]
(log-edit-insert-changelog-entries): Don't add newline after the last entry
* lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
Don't add newline after the last entry.
Simen Heggestøyl [Thu, 9 Apr 2015 18:58:53 +0000 (20:58 +0200)]
css-mode.el: Add "not" pseudo-class
Fixes: debbugs:20267
* textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to list
of CSS pseudo-classes.
Stefan Monnier [Thu, 9 Apr 2015 18:45:42 +0000 (14:45 -0400)]
etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
Michael Albinus [Thu, 9 Apr 2015 18:07:20 +0000 (20:07 +0200)]
Stop messing with the EMACS env var
* misc.texi (Interactive Shell): Remove description of EMACS env var.
Paul Eggert [Thu, 9 Apr 2015 17:21:07 +0000 (10:21 -0700)]
; Add missing (tiny change) and minor cleanup
Paul Eggert [Thu, 9 Apr 2015 17:16:26 +0000 (10:16 -0700)]
; make change-history-commit
Paul Eggert [Thu, 9 Apr 2015 17:16:08 +0000 (10:16 -0700)]
Adapt 'make change-history' to coding cookie
* Makefile.in (change-history): Adjust to change of format of
ChangeLog file, which now has a coding cookie before an indented
copyright notice.
Paul Eggert [Thu, 9 Apr 2015 16:50:48 +0000 (09:50 -0700)]
gitlog-to-changelog coding cookie and mv -i
* build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
for copyright notice prototype, so that we get a proper "coding:"
cookie. Use 'mv -i' to avoid unconditionally overwriting an
existing ChangeLog. Problems reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
Paul Eggert [Thu, 9 Apr 2015 16:31:31 +0000 (09:31 -0700)]
Merge from gnulib
* build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
2015-04-09 gitlog-to-changelog: port to MS-Windows
Boruch Baum [Thu, 9 Apr 2015 15:07:15 +0000 (11:07 -0400)]
* lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
Fixes: debbugs:20212
Stefan Monnier [Thu, 9 Apr 2015 15:01:04 +0000 (11:01 -0400)]
Stop messing with the EMACS env var
Fixes: debbugs:20202
* lisp/net/tramp-sh.el (tramp-remote-process-environment):
* lisp/comint.el (comint-exec-1):
* lisp/term.el (term-exec-1): Don't set EMACS envvar.
* lisp/progmodes/compile.el (compilation-start): Same and bring
INSIDE_EMACS's format in line with other users.
Stefan Monnier [Thu, 9 Apr 2015 14:51:23 +0000 (10:51 -0400)]
css-mode.el (css-smie-rules): Fix indentation after complex selectors
Fixes: debbugs:20282
* lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
inner structure of selectors.
Fabián Ezequiel Gallina [Thu, 9 Apr 2015 04:41:55 +0000 (01:41 -0300)]
python.el: Indent docstring lines to base-indent
Fixes: debbugs:19595
Thanks to immerrr <immerrr@gmail.com> for reporting and providing
an initial patch.
* lisp/progmodes/python.el
(python-indent-context): Add :inside-docstring context.
(python-indent--calculate-indentation): Handle :inside-docstring.
(python-indent-region): Re-indent docstrings.
* test/automated/python-tests.el (python-indent-region-5)
(python-indent-inside-string-2): Fix tests.
Fabián Ezequiel Gallina [Thu, 9 Apr 2015 03:53:18 +0000 (00:53 -0300)]
python.el: Increase native completion robustness
Fixes: debbugs:19755
Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
this and providing useful ideas.
* lisp/progmodes/python.el
(python-shell-completion-native-output-timeout): Increase value.
(python-shell-completion-native-try-output-timeout): New var.
(python-shell-completion-native-try): Use it.
(python-shell-completion-native-setup): New readline setup avoids
polluting current context, ensures output when no-completions are
available and includes output end marker.
(python-shell-completion-native-get-completions): Trigger with one
tab only. Call accept-process-output until output end is found or
python-shell-completion-native-output-timeout is exceeded.
Samer Masterson [Thu, 9 Apr 2015 02:31:51 +0000 (22:31 -0400)]
* lisp/eshell: Make backslash a no-op in front of normal chars
Fixes: debbugs:8531
* lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
(eshell-parse-backslash): Return escaped character after backslash
if it is special. Otherwise, if the backslash is not in a quoted
string, ignore the backslash and return the character after; if
the backslash is in a quoted string, return the backslash and the
character after.
* test/automated/eshell.el (eshell-test/escape-nonspecial)
(eshell-test/escape-nonspecial-unicode)
(eshell-test/escape-nonspecial-quoted)
(eshell-test/escape-special-quoted): Add tests for new
`eshell-parse-backslash' behavior.
Gustav Hållberg [Thu, 9 Apr 2015 01:47:50 +0000 (21:47 -0400)]
(diff-hunk-file-names): Don't require a TAB after the file name
Fixes: debbugs:20276
Gustav Hållberg [Thu, 9 Apr 2015 01:46:28 +0000 (21:46 -0400)]
(diff-hunk-file-names): Don't require a TAB after the file name
* lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
after the file name (bug#20276).